There is an increasing need for recognition of handwriting. Portable data handling devices, such as PDAs (Personal Digital Assistant), mobile phones or portable computers, are becoming increasingly popular. In order to enter data into these portable devices, a text insertion unit is needed.
Text insertion units have formerly been implemented as keyboards. This, however, sets limits to the minimum size of the portable device, and therefore a different way of inserting text into the device is needed in order to enable smaller devices.
The keyboards are now being replaced by some kind of recognition of handwritten text. A common solution is to arrange a pressure-sensitive area where a user can write characters. The characters are then interpreted and handled by the portable device. It is, of course, also of interest to replace keyboards of regular stationary computers.
Thus, recognition of handwritten characters is an important task in portable devices. The recognition is commonly performed by comparing the handwritten character with reference characters that are stored in a database in the portable device. One such method is disclosed in U.S. Pat. No. 4,284,975.
The recognition should be fast in order to avoid annoying delays for the user. This requirement is especially hard to live up to for logographic writing systems, such as the Chinese. The Chinese writing system consists of up to 20,000 characters. Since the handwritten character has to be compared with a very large number of reference characters when recognition of a Chinese character is performed, the recognition becomes slow.
According to U.S. Pat. No. 4,284,975, differences in coordinates between points on the handwritten character and points on the reference character are calculated. These differences are used to calculate a distance measure between the points.
Today, the differences are computed in at least two steps. Two characteristics defining a point could be stored in different areas for easy access to the value of a characteristic by referring to the register where it is stored. A computation of a difference between two points is then performed in two subtractions in order to compare the two characteristics of the point. In these subtractions the registers holding the values of the characteristics could be referred to directly. However, this means that a lot of memory is needed, as the two characteristics are stored separately. Another method is to compress the values of the two characteristics for storage of each point separately. This means that less memory is required but the characteristics of the point have to be decompressed before the computation of the differences in characteristics is performed. This gives a slower method.